package com.shujia.five;

public class OperatorDemo1 {

    public static void main(String[] args) {
        // +, -, *, /, ++, --
        // + 加法
        int a = 4;
        int b = 6;
        int c = a + b;
        System.out.println(c);

        c = a - b;
        System.out.println(c);

        c = a * b;
        System.out.println(c);

        // 对于除号“/”，整数之间做除法时，只保留整数部分而舍弃小数部分。
        c = a / b;
        System.out.println(c);

        c = 10 / 5;
        System.out.println(c);

        c = 11 / 5;
        System.out.println(c);

        // 小数做除法, 只要有一个小数, 那么结果就是小数
        double d1 = 12.6;
        int i = 2;
//        double i = 2;
        double result = d1 / i;
        System.out.println(result);

        // % 取余, 10 除 2, 如果可以除净的话结果就是0
        // 如果除不净的话, 结果就是余下来的数值
        System.out.println(10 % 2); // 0
        System.out.println(11 % 2);// 1
        System.out.println(99 % 50);// 49


        System.out.println("--------------------");

        //  ++ 在原来数值上加1
        int num = 10;
        // 自增操作独占一行, 自增（前）/自增（后） 结果是一样的
        // num++; // num = num + 1;
        ++num;
        System.out.println(num);

        int num1 = 10;
        int num2 = 20;
        // 自增（前）：++符号放前面, 先自增再运算
        // num2 = num2 + 1; // 21
        // 10 + 21 = 31 赋值给num3
//        int num3 = num1 + ++num2;
//        System.out.println(num3);// 31
//        System.out.println(num2);// 21

        // 自增（后）：++符号放后面, 先运算后自增
        // 10 + 20 = 30 -> num3
        // num2 = num2 + 1 -> 21
//        int num3 = num1 + num2++;
//        System.out.println(num3);// 30
//        System.out.println(num2);// 21

//        自减（前）：先自减在运算
        // num2 = num2 - 1; // 19
        // 10 + 19 = 29 -> num3
//        int num3 = num1 + --num2;
//        System.out.println(num3);// 29
//        System.out.println(num2);// 19

//        自减（后）：先运算在自减
        // 10 + 20 = 30 -> num3
        // num2 - 1 = 19 -> num2
        int num3 = num1 + num2--;
        System.out.println(num3);// 30
        System.out.println(num2);// 19



    }
}
